set(ASN_MODULE_SRCS
  AMFPointer.c
  AMFRegionID.c
  AMFSetID.c
  AMF-UE-NGAP-ID.c
  ANY_aper.c
  ANY.c
  ANY_xer.c
  aper_decoder.c
  aper_encoder.c
  aper_opentype.c
  aper_support.c
  asn_application.c
  asn_bit_data.c
  asn_codecs_prim.c
  asn_codecs_prim_xer.c
  asn_internal.c
  asn_random_fill.c
  asn_SEQUENCE_OF.c
  asn_SET_OF.c
  ber_tlv_length.c
  ber_tlv_tag.c
  BIT_STRING.c
  BIT_STRING_print.c
  BIT_STRING_rfill.c
  BIT_STRING_xer.c
  BOOLEAN_aper.c
  BOOLEAN.c
  BOOLEAN_print.c
  BOOLEAN_rfill.c
  BOOLEAN_xer.c
  CGI.c
  constraints.c
  constr_CHOICE_aper.c
  constr_CHOICE.c
  constr_CHOICE_print.c
  constr_CHOICE_rfill.c
  constr_CHOICE_xer.c
  constr_SEQUENCE_aper.c
  constr_SEQUENCE.c
  constr_SEQUENCE_OF_aper.c
  constr_SEQUENCE_OF.c
  constr_SEQUENCE_OF_xer.c
  constr_SEQUENCE_print.c
  constr_SEQUENCE_rfill.c
  constr_SEQUENCE_xer.c
  constr_SET_OF_aper.c
  constr_SET_OF.c
  constr_SET_OF_print.c
  constr_SET_OF_rfill.c
  constr_SET_OF_xer.c
  constr_TYPE.c
  CoreCPID.c
  E2SM-KPM-ActionDefinition.c
  E2SM-KPM-ActionDefinition-Format1.c
  E2SM-KPM-ActionDefinition-Format2.c
  E2SM-KPM-ActionDefinition-Format3.c
  E2SM-KPM-ActionDefinition-Format4.c
  E2SM-KPM-ActionDefinition-Format5.c
  E2SM-KPM-EventTriggerDefinition.c
  E2SM-KPM-EventTriggerDefinition-Format1.c
  E2SM-KPM-IndicationHeader.c
  E2SM-KPM-IndicationHeader-Format1.c
  E2SM-KPM-IndicationMessage.c
  E2SM-KPM-IndicationMessage-Format1.c
  E2SM-KPM-IndicationMessage-Format2.c
  E2SM-KPM-IndicationMessage-Format3.c
  E2SM-KPM-RANfunction-Description.c
  ENB-ID.c
  ENB-UE-X2AP-ID.c
  ENB-UE-X2AP-ID-Extension.c
  EN-GNB-ID.c
  E-UTRA-ARFCN.c
  EUTRACellIdentity.c
  EUTRA-CGI.c
  E-UTRA-PCI.c
  E-UTRA-TAC.c
  EXTERNAL.c
  FiveGS-TAC.c
  FiveQI.c
  FreqBandNrItem.c
  GlobalENB-ID.c
  GlobalenGNB-ID.c
  GlobalGNB-ID.c
  GlobalNgENB-ID.c
  GlobalNGRANNodeID.c
  GNB-CU-CP-UE-E1AP-ID.c
  GNB-CU-UE-F1AP-ID.c
  GNB-CU-UP-ID.c
  GNB-DU-ID.c
  GNB-ID.c
  GranularityPeriod.c
  GraphicString.c
  GroupID.c
  GUAMI.c
  GUMMEI.c
  IndexToRFSP.c
  INTEGER_aper.c
  INTEGER.c
  INTEGER_print.c
  INTEGER_rfill.c
  INTEGER_xer.c
  InterfaceID-E1.c
  InterfaceIdentifier.c
  InterfaceID-F1.c
  InterfaceID-NG.c
  InterfaceID-S1.c
  InterfaceID-W1.c
  InterfaceID-X2.c
  InterfaceID-Xn.c
  Interface-MessageID.c
  InterfaceType.c
  LabelInfoItem.c
  LabelInfoList.c
  MatchingCondItem.c
  MatchingCondList.c
  MatchingUeCondPerSubItem.c
  MatchingUeCondPerSubList.c
  MatchingUEidItem.c
  MatchingUEidList.c
  MatchingUEidPerSubItem.c
  MatchingUEidPerSubList.c
  MeasurementCondItem.c
  MeasurementCondList.c
  MeasurementCondUEidItem.c
  MeasurementCondUEidList.c
  MeasurementData.c
  MeasurementDataItem.c
  MeasurementInfo-Action-Item.c
  MeasurementInfo-Action-List.c
  MeasurementInfoItem.c
  MeasurementInfoList.c
  MeasurementLabel.c
  MeasurementRecord.c
  MeasurementRecordItem.c
  MeasurementType.c
  MeasurementTypeID.c
  MeasurementTypeName.c
  MME-Code.c
  MME-Group-ID.c
  MME-UE-S1AP-ID.c
  NativeEnumerated_aper.c
  NativeEnumerated.c
  NativeEnumerated_xer.c
  NativeInteger_aper.c
  NativeInteger.c
  NativeInteger_print.c
  NativeInteger_rfill.c
  NativeInteger_xer.c
  NativeReal_aper.c
  NativeReal.c
  NativeReal_print.c
  NativeReal_rfill.c
  NativeReal_xer.c
  NGENB-CU-UE-W1AP-ID.c
  NGENB-DU-ID.c
  NgENB-ID.c
  NG-RANnodeUEXnAPID.c
  NR-ARFCN.c
  NRCellIdentity.c
  NR-CGI.c
  NRFrequencyBandItem.c
  NRFrequencyBand-List.c
  NRFrequencyInfo.c
  NRFrequencyShift7p5khz.c
  NR-PCI.c
  NULL_aper.c
  NULL.c
  NULL_print.c
  NULL_rfill.c
  NULL_xer.c
  ObjectDescriptor.c
  OBJECT_IDENTIFIER.c
  OBJECT_IDENTIFIER_print.c
  OBJECT_IDENTIFIER_rfill.c
  OBJECT_IDENTIFIER_xer.c
  OCTET_STRING_aper.c
  OCTET_STRING.c
  OCTET_STRING_print.c
  OCTET_STRING_rfill.c
  OCTET_STRING_xer.c
  OPEN_TYPE_aper.c
  OPEN_TYPE.c
  OPEN_TYPE_xer.c
  per_decoder.c
  per_encoder.c
  per_opentype.c
  per_support.c
  PLMNIdentity.c
  PrintableString.c
  QCI.c
  QosFlowIdentifier.c
  QoSID.c
  RANfunction-Name.c
  RANUEID.c
  REAL_aper.c
  REAL.c
  REAL_print.c
  REAL_rfill.c
  REAL_xer.c
  RIC-EventTriggerStyle-Item.c
  RIC-Format-Type.c
  RIC-ReportStyle-Item.c
  RIC-Style-Name.c
  RIC-Style-Type.c
  RRCclass-LTE.c
  RRCclass-NR.c
  RRC-MessageID.c
  SD.c
  ServingCell-ARFCN.c
  ServingCell-PCI.c
  S-NSSAI.c
  SST.c
  SubscriberProfileIDforRFP.c
  SupportedSULBandList.c
  SupportedSULFreqBandItem.c
  TestCond-Expression.c
  TestCondInfo.c
  TestCond-Type.c
  TestCond-Value.c
  TimeStamp.c
  UEID.c
  UEID-ENB.c
  UEID-EN-GNB.c
  UEID-GNB.c
  UEID-GNB-CU-CP-E1AP-ID-Item.c
  UEID-GNB-CU-CP-E1AP-ID-List.c
  UEID-GNB-CU-CP-F1AP-ID-Item.c
  UEID-GNB-CU-F1AP-ID-List.c
  UEID-GNB-CU-UP.c
  UEID-GNB-DU.c
  UEID-NG-ENB.c
  UEID-NG-ENB-DU.c
  UEMeasurementReportItem.c
  UEMeasurementReportList.c
  xer_decoder.c
  xer_encoder.c
  xer_support.c
  )

add_library(e2sm_kpm_asn1_obj OBJECT ${ASN_MODULE_SRCS})
target_include_directories(e2sm_kpm_asn1_obj
                          PUBLIC
                           "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
                           )

target_compile_options(e2sm_kpm_asn1_obj PRIVATE "-DASN_DISABLE_OER_SUPPORT" "-DASN_DISABLE_JER_SUPPORT")
target_compile_options(e2sm_kpm_asn1_obj PRIVATE -Wno-missing-field-initializers -Wno-unused-parameter -fPIC)

